# -- coding: utf-8 --
# @time : 2023/7/26
# @author : 周梦泽
# @file : update_machine_status.py
# @software: pycharm
# 装饰器：更新机器状态,主要用于运行前后的更改机器状态
import sys
import traceback
from common.logger.log import log_
import config
from request.open.robot import update_status


def update_status_pc(func):
    """更新机器状态装饰器"""
    def wrapper(*args, **kwargs):
        try:
            # 执行任务更新机器信息
            update_status(config.data.get("robot.number"), 2)
            func(*args, **kwargs)
        except:
            log_.error(f"执行时异常 : {sys.exc_info()[0]} {sys.exc_info()[1]}")
            log_.error(traceback.format_exc())
        finally:
            # 执行完毕更新机器信息
            update_status(config.data.get("robot.number"), 1)

    return wrapper
